module.exports = {
  publicPath: process.env.NODE_ENV !== "development" ? "" : "/",
  outputDir: "dist",
  assetsDir: "static",
  // lintOnSave: process.env.NODE_ENV !== "production",
  lintOnSave: true,
  productionSourceMap: true,
  configureWebpack: {
    module: {
      rules: [
        // 普通的 `.scss` 文件和 `*.vue` 文件中的
        // `<style lang="scss">` 块都应用它
        {
          test: /\.(scss|sass)$/,
          use: [
            // 'vue-style-loader',
            // 'css-loader',
            {
              loader: "sass-loader",
              options: {
                // 注意：在 sass-loader v8 中，这个选项名是 "prependData"
                // additionalData: `$color: red;`
                // additionalData: `@import "~assets/css/variables.scss";`,
              },
            },
          ],
        },
        {
          test: /\.less$/,
          use: [
            {
              loader: "less-loader",
              options: {},
            },
          ],
        },
        // 配置 3d 模型格式
        {
          test: /\.(gltf|glb|fbx|json)$/,
          use: [
            {
              loader: "url-loader",
              options: {
                limit: 14000,
                esModule: false,
                name: "static/models/[name].[hash:8].[ext]",
              },
            },
          ],
        },
      ],
    },
    resolve: {
      alias: {
        assets: "src/assets",
        common: "src/common",
        components: "src/components",
        network: "src/network",
        views: "src/views",
      },
      // 将 `.ts` 添加为一个可解析的扩展名。
      extensions: [".ts", ".js"],
    },
  },
};
